]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
ScreenShield: fix fallout from 8cb3884
authorGiovanni Campagna <gcampagna@src.gnome.org>
Thu, 31 Jan 2013 12:33:31 +0000 (13:33 +0100)
committerGiovanni Campagna <gcampagna@src.gnome.org>
Thu, 31 Jan 2013 12:45:57 +0000 (13:45 +0100)
We must remove music notifications before we're destroyed, otherwise
they get destroyed with us.
Also, integrate a review comment I previously forgot.

https://bugzilla.gnome.org/show_bug.cgi?id=685926

js/ui/screenShield.js

index 0367f60782cebd02f09b56a75185c1d5996baf56..73bf1370a1e8447effe5e585003c0af3e6f9c2a4 100644 (file)
@@ -218,9 +218,11 @@ const NotificationsBox = new Lang.Class({
                 continue;
 
             let body = '';
-            if (n.bannerBodyText)
+            if (n.bannerBodyText) {
                 body = n.bannerBodyMarkup ? n.bannerBodyText :
                 GLib.markup_escape_text(n.bannerBodyMarkup, -1);
+            }
+
             let label = new St.Label({ style_class: 'screen-shield-notification-count-text' });
             label.clutter_text.set_markup('<b>' + n.title + '</b> ' + body);
             textBox.add(label);
@@ -356,6 +358,11 @@ const NotificationsBox = new Lang.Class({
         obj.sourceBox.destroy();
         obj.sourceBox = obj.titleLabel = obj.countLabel = null;
 
+        if (obj.musicNotification) {
+            this._musicBin.child = null;
+            obj.musicNotification = null;
+        }
+
         source.disconnect(obj.sourceDestroyId);
         source.disconnect(obj.sourceCountChangedId);
         source.disconnect(obj.sourceTitleChangedId);